﻿package com._public._control 
{
	import flash.events.TimerEvent;
	import flash.utils.Timer;
	
	/**
	 * ...2010-4-8 15:44
	 * @author WZH(shch8.com)
	 * 本类用于同时设置多个参数
	 * 有时需要对某个类多个参数进行设置，设置完后再执行调整，可使用本类。
	 * @example
	 * var setParam:SetParamMore=new SetParamMore(callbackFun,400)
	 * //callbackFun 需要回调的函数
	 * setParam.reSet();//在重复调用的地方进行刷新
	 */
	public class SetParamMore 
	{
		private var _backFun:Function;//设置完成的回调函数
		private var timer:Timer;
		private var _delay:uint = 10;//间隔时间
		public function SetParamMore(__backFun:Function,__delay:uint=10) 
		{
			_backFun = __backFun;
			_delay = __delay;
		}
		public function set delay(value:uint):void { _delay = value };
		public function reSet():void
		{
			if (timer == null) {
				timer = new Timer(_delay);
				timer.addEventListener(TimerEvent.TIMER, timerEvent);
				}
			timer.reset();
			timer.start();
		}
		private function timerEvent(event:TimerEvent):void
		{
			timer.stop();
			timer.removeEventListener(TimerEvent.TIMER, timerEvent);
			timer = null;
			if (_backFun is Function)_backFun();
		}
		
	}
	
}